<?php

/**
 * IneligibilityReasonCode.
 *
 * PHP version 8.3
 *
 * @category Class
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */

/**
 * Amazon Shipping API.
 *
 * The Amazon Shipping API is designed to support outbound shipping use cases both for orders originating on Amazon-owned marketplaces as well as external channels/marketplaces. With these APIs, you can request shipping rates, create shipments, cancel shipments, and track shipments.
 *
 * The version of the OpenAPI document: v2
 * Contact: swa-api-core@amazon.com
 * Generated by: https://openapi-generator.tech
 * Generator version: 7.9.0
 */

/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

namespace SpApi\Model\shipping\v2;

/**
 * IneligibilityReasonCode Class Doc Comment.
 *
 * @category Class
 *
 * @description Reasons that make a shipment service offering ineligible.
 *
 * @author   OpenAPI Generator team
 *
 * @see     https://openapi-generator.tech
 */
class IneligibilityReasonCode
{
    /**
     * Possible values of this enum.
     */
    public const NO_COVERAGE = 'NO_COVERAGE';

    public const PICKUP_SLOT_RESTRICTION = 'PICKUP_SLOT_RESTRICTION';

    public const UNSUPPORTED_VAS = 'UNSUPPORTED_VAS';

    public const VAS_COMBINATION_RESTRICTION = 'VAS_COMBINATION_RESTRICTION';

    public const SIZE_RESTRICTIONS = 'SIZE_RESTRICTIONS';

    public const WEIGHT_RESTRICTIONS = 'WEIGHT_RESTRICTIONS';

    public const LATE_DELIVERY = 'LATE_DELIVERY';

    public const PROGRAM_CONSTRAINTS = 'PROGRAM_CONSTRAINTS';

    public const TERMS_AND_CONDITIONS_NOT_ACCEPTED = 'TERMS_AND_CONDITIONS_NOT_ACCEPTED';

    public const UNKNOWN = 'UNKNOWN';

    /**
     * Gets allowable values of the enum.
     *
     * @return string[]
     */
    public static function getAllowableEnumValues(): array
    {
        return [
            self::NO_COVERAGE,
            self::PICKUP_SLOT_RESTRICTION,
            self::UNSUPPORTED_VAS,
            self::VAS_COMBINATION_RESTRICTION,
            self::SIZE_RESTRICTIONS,
            self::WEIGHT_RESTRICTIONS,
            self::LATE_DELIVERY,
            self::PROGRAM_CONSTRAINTS,
            self::TERMS_AND_CONDITIONS_NOT_ACCEPTED,
            self::UNKNOWN,
        ];
    }
}
